1 Wprowadzenie

Tu będzie krótki opis

2 Biblioteki

#Generacja raportu
library(knitr)

#Operacje na danych
library(dplyr)
library(tidyr)
library(reshape2)

#Wartości brakujące
library(mice)

#Wykresy
library(ggplot2)
library(hexbin)
library(plotly)
library(tidyr)

#Regresja
library(caret)
## Warning: package 'caret' was built under R version 3.3.2

2.1 Wczytanie danych

Dane zostały wczytane z pliku csv znajdującego się lokalnie na dysku do typu data frame. Przy wczytaniu ustawiono tyo dla wszystkich kolumn na numerci poza kolumnami X oraz xmonth - dla nich ustawiono typ integer. Dokonano również zmiany znaków symbolizujących brakujące dane w zestawie - ? na symbol NA w celu ułatwienia późniejszych operacji podczas analizy wartości brakujących. Ostatecznie dokonano konwersji na typ df_tbl pakietu dplyr.

Dane zostały pobrane ze strony: (http://www.cs.put.poznan.pl/dbrzezinski/teaching/zed/sledzie.csv)

mydata = read.csv("sledzie.csv",  colClasses = c("integer","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","numeric","integer","numeric"),na.strings = c("NA","?"))
df <- data.frame(mydata)
my_df <- tbl_df(df)

3 Wstępne rozpoznanie

3.1 Ogólne statystyki dla danych

Dane na, których oparto analizy dotyczą połowu śledzi oceanicznych wyławianych w Europie na przestrzeni 60 lat. Dane zostały zebrane podczas połowów komercyjnych. Do badań brano losowo od 50 do 100 sztuk trzyletnich śledzi.

Tabela podsumująca zbiór danych
X length cfin1 cfin2 chel1 chel2 lcop1 lcop2 fbar recr cumf totaln sst sal xmonth nao
Min. : 0 Min. :19.0 Min. : 0.0000 Min. : 0.0000 Min. : 0.000 Min. : 5.238 Min. : 0.3074 Min. : 7.849 Min. :0.0680 Min. : 140515 Min. :0.06833 Min. : 144137 Min. :12.77 Min. :35.40 Min. : 1.000 Min. :-4.89000
1st Qu.:13145 1st Qu.:24.0 1st Qu.: 0.0000 1st Qu.: 0.2778 1st Qu.: 2.469 1st Qu.:13.427 1st Qu.: 2.5479 1st Qu.:17.808 1st Qu.:0.2270 1st Qu.: 360061 1st Qu.:0.14809 1st Qu.: 306068 1st Qu.:13.60 1st Qu.:35.51 1st Qu.: 5.000 1st Qu.:-1.89000
Median :26291 Median :25.5 Median : 0.1111 Median : 0.7012 Median : 5.750 Median :21.673 Median : 7.0000 Median :24.859 Median :0.3320 Median : 421391 Median :0.23191 Median : 539558 Median :13.86 Median :35.51 Median : 8.000 Median : 0.20000
Mean :26291 Mean :25.3 Mean : 0.4458 Mean : 2.0248 Mean :10.006 Mean :21.221 Mean : 12.8108 Mean :28.419 Mean :0.3304 Mean : 520367 Mean :0.22981 Mean : 514973 Mean :13.87 Mean :35.51 Mean : 7.258 Mean :-0.09236
3rd Qu.:39436 3rd Qu.:26.5 3rd Qu.: 0.3333 3rd Qu.: 1.7936 3rd Qu.:11.500 3rd Qu.:27.193 3rd Qu.: 21.2315 3rd Qu.:37.232 3rd Qu.:0.4560 3rd Qu.: 724151 3rd Qu.:0.29803 3rd Qu.: 730351 3rd Qu.:14.16 3rd Qu.:35.52 3rd Qu.: 9.000 3rd Qu.: 1.63000
Max. :52581 Max. :32.5 Max. :37.6667 Max. :19.3958 Max. :75.000 Max. :57.706 Max. :115.5833 Max. :68.736 Max. :0.8490 Max. :1565890 Max. :0.39801 Max. :1015595 Max. :14.73 Max. :35.61 Max. :12.000 Max. : 5.08000
NA NA NA’s :1581 NA’s :1536 NA’s :1555 NA’s :1556 NA’s :1653 NA’s :1591 NA NA NA NA NA’s :1584 NA NA NA
Tabela zawierająca początkowe wiersze
X length cfin1 cfin2 chel1 chel2 lcop1 lcop2 fbar recr cumf totaln sst sal xmonth nao
0 23.0 0.02778 0.27785 2.46875 NA 2.54787 26.35881 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
1 22.5 0.02778 0.27785 2.46875 21.43548 2.54787 26.35881 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
2 25.0 0.02778 0.27785 2.46875 21.43548 2.54787 26.35881 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
3 25.5 0.02778 0.27785 2.46875 21.43548 2.54787 26.35881 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
4 24.0 0.02778 0.27785 2.46875 21.43548 2.54787 26.35881 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
5 22.0 0.02778 0.27785 2.46875 21.43548 2.54787 NA 0.356 482831 0.3059879 267380.8 14.30693 35.51234 7 2.8
Tabela unikalnych wartości
X length cfin1 cfin2 chel1 chel2 lcop1 lcop2 fbar recr cumf totaln sst sal xmonth nao
52582 59 39 48 48 51 48 51 51 52 52 53 51 51 12 45

3.2 Powtarzalność wyników

W celu zachowania powtarzalności wyników ustawion ziarna generatora na:

set.seed(666)

Dodatkowe wszelki kody zmieniające dane początkowe zostały wyświetlone przy odpowiednich krokach raportu.

3.3 Wartości brakujące

Z ogólnych statystyk dla danych dotyczących śledzi można odczytać 7 kolumn, które zawierają wartości brakujące. Ten rozdział raportu będzie poświęcony analizie tych wartości na podstawie, której zostanie podjęta decyzja w jaki sposób zostanie rozwiązany problem - zostawić brakujące wartości, usunąć wiersze z brakującymi wartościami lub wypełnić luki w danych.

3.3.1 Analiza wartości brakujących

Pierwszym krokiem jest sprawdzenie jaka jest liczba unikalnych wartości dla poszczególnych atrybutów. W poniższej tabeli możemy zaobserwoać niewielką liczbę wartości różnych wartości dla zmiennych posiadających wartości brakujące. Zestaw danych posiada ponad 52 tysiące wiersze, dlatego zmienność danych jest w tych kolumnach nie wielka.

Tabela unikalnych wartości
cfin1 cfin2 chel1 chel2 lcop1 lcop2 sst
39 48 48 51 48 51 51

Następnie dokonano próby poszukania wzorcóW na podstawie ktorych można, by zdefiniwać zależności między brakami wartości, a atrybutami. Uzyskany jednak poniższy wykres ukazuję dużę liczbę kombinacji brakujących wartości (53). Są to pojedyncze, podWójne i potrójne braki w wierszu.

Wykonano również wykres przedstawiający liczbę brakujących wartości dla każdego atrybutu. Są one jednak bardzo zbliżonę i w tym wypadku nie można wskazać atrybutu wyróżniającego się.

Ostatnim podejściem było obejrzenie danych źródłowych. Kolejne wiersze są zgrupowane do pojedynczego połowu w pojedyncze połowy, w których jedyną różnicą są długości śledzi. Braki te występują bardzo często w środku takich bloków.

3.3.2 Wypełnienie brakujących wartości

Na podstawie analizy trudno uzyskać jednoznaczny wzorzec brakujących wartości. Dane brakująće dotyczą poziomu planktonu oraz temperatury przy powierzchni wody. Nie są to atrybuuty o dużej zmienności. Próba wstawienia średniej, mediany lub innej wartości statystycznej może spowowdować duże zniekształcenie danych. Występowanie blokóW takich samych danych w zestawie jak i nie wielka liczba brakujących danych w stosunku do całości zbioru skłoniła do pobierania najbliższej wartości nie brakującej w kierunku do góry i wstawienie jej w puste miejsce. Dodatkowo w pierwszym wierszu występuje również pusta wartość, dlatego powtórzono operacje wstawiania w kierunku dolnym. Poniżej znajduję się kod wypelniający brakujące wartości.

new_my_df<-my_df %>% fill(cfin1:lcop2,sst,.direction = "up") %>% fill(cfin1:lcop2,sst,.direction = "down")

Przyjęta metoda nie zaburzyła w widoczny sposób podstawowych statystyk widocznych w poniższej tabli w stosunku do tabeli znajdującej się w sekcji 3.1.

X length cfin1 cfin2 chel1 chel2 lcop1 lcop2 fbar recr cumf totaln sst sal xmonth nao
Min. : 0 Min. :19.0 0 :14688 0.70118: 4503 11.5 : 4932 5.67765 : 4498 23 : 4932 9.17171 : 4498 Min. :0.0680 Min. : 140515 Min. :0.06833 Min. : 144137 13.6315997001: 4495 Min. :35.40 Min. : 1.000 Min. :-4.89000
1st Qu.:13145 1st Qu.:24.0 0.02778: 2289 0 : 3912 2.46875 : 2288 21.67333: 3805 2.54787 : 2289 24.85867: 3806 1st Qu.:0.2270 1st Qu.: 360061 1st Qu.:0.14809 1st Qu.: 306068 14.0693330238: 3802 1st Qu.:35.51 1st Qu.: 5.000 1st Qu.:-1.89000
Median :26291 Median :25.5 1.02508: 2123 0.296 : 3800 12.15192: 2176 39.56809: 2162 12.49588: 2175 41.65566: 2166 Median :0.3320 Median : 421391 Median :0.23191 Median : 539558 14.4415996823: 2167 Median :35.51 Median : 8.000 Median : 0.20000
Mean :26291 Mean :25.3 1.21333: 2063 0.11736: 2159 6.42127 : 2123 26.81218: 2063 10.92857: 2124 45.70773: 2063 Mean :0.3304 Mean : 520367 Mean :0.22981 Mean : 514973 13.5598663683: 2068 Mean :35.51 Mean : 7.258 Mean :-0.09236
3rd Qu.:39436 3rd Qu.:26.5 0.33333: 1981 4.55825: 2062 19.15475: 2063 15.03 : 2008 21.23147: 2059 17.68 : 2011 3rd Qu.:0.4560 3rd Qu.: 724151 3rd Qu.:0.29803 3rd Qu.: 730351 13.694933032 : 2007 3rd Qu.:35.52 3rd Qu.: 9.000 3rd Qu.: 1.63000
Max. :52581 Max. :32.5 0.11111: 1958 0.85684: 1722 9.66667 : 1979 9.43208 : 1722 27.33333: 1983 10.72889: 1722 Max. :0.8490 Max. :1565890 Max. :0.39801 Max. :1015595 13.861999695 : 1721 Max. :35.61 Max. :12.000 Max. : 5.08000
NA NA (Other):27480 (Other):34424 (Other) :37021 (Other) :36324 (Other) :37020 (Other) :36316 NA NA NA NA (Other) :36322 NA NA NA

4 Analiza atrybutów

Zestaw danych zawiera 14 atrybutów. Dotyczą one parametrów morza - temperatura, zasolenie, oscylacja, dostępność planktonu, informacje dotyczące połowów oraz najważniejzy atrybut - długość śledzia.

4.1 Długość śledzia - length

Długość śledzi wyrażona został w centymetrach. Z pierwszego wykresu można odczytać wzrost długość do jednostek czasu ok 17-18 tysięcy, następnie rozpoczyna się spadek tej wartości. Wykres heksalny ukazuje większe skupienie śledzi o długości 26cm i wiecej do jednostki ok 20 tysięcy. Ostatni wykres jest histogramem, który przedstawia rozkład zbliżony do normalnego. Widać na nim przewagę wartości około 25cm.

4.2 Parametry morza

4.2.1 Temperatura przy powierzchni wody - sst

Atrybut zawiera temperaturę przy powierzchni wody mierzoną w stopniach Celsjusza.Pierwszy wykres przedstawia zmienność temperatury w czasie z podzieleniem na miesiąće w roku. Można tu odczytać wzrost temperatur wraz z czasem, niezależnie od miesiąca. Histogram przedstawia częste wartości w oklicach 13,5-13,75 oraz większą liczbę temperatur wyższych z dostępnego zakresu.

4.2.2 Poziom zasolenia wody - sal

Atrybut ten przestawia poziom zasolenia wody morskiej wyrażony w Knudsen ppt. Przedział wartości jest bardzo wąski - [35,40;35,60]. Warto tu dodać, że poziom zasolenia wód morskich i oceanicznych to 31 (np. Arktyka) do 39 (np. Morze Śródziemne). Wykresy czasoe pokazują raczej stały poziom zasolenia z małymi wyjątakami. Należy jednak pamiętać żę zmieny pziiomy zasolenia to najwyżej 0,1 jednostki. Histogram pokazuje ogromną przewagę wartości 35,5 na innymi.

4.2.3 Oscylacja północnoatlantycka - nao

Atrybut dotyczy globalnej cyrkulacji powietrza i wody oceanicznej; ujawnia się poprzez fluktuacje takich parametrów, jak ciśnienie, temperatura, prędkość wiatru, ilość opadów. Wykres czasu przedstawia początkową wartość bliską zeru lub dodatnią w zależności od miesiąca, następnie dochodzi do spadku nie zależnie o miesiąca w roku, po czym można zauważyć wzrost do warości bliskich zeru lub dodatnich. Histogram ukazuje duże zróżnicowanie atrybuty niezależnie od wartości.

4.3 Połowy

4.3.1 Natężenie połowów - fbar

Atrybut nateżenia połowów przedstawiony jako ułamek pozostawionego narybku. Na wykresie czasu można zobserwować dużą zmienność wartości, które jednak są występują najczęściej poniżej wartości 0,6 co potwiedza histogram.

4.3.2 Łączna liczba ryb złowionych w ramach połowu - totaln

Z wykresu możemy zauważyć dużą zmienność z tendencją malejącą. Z rozrzutu punktów można wywnioskować różne powodzenie przy połowach - w podobnym czasie połowy były duże jak i małe. Histogram pokazuje dużą czestość wysokich wartości połowów.

4.3.3 Łączne roczne natężenie połowów w regionie - cumf

Atrybut łącznego rocznego natężnia połowów w regionieprzedstawiony jako ułamek pozostawionego narybku. Wykres przebiegu czasowego pokazuje wzrost z 0,1 do ok 0,3 w przeciągu kolejnych lat.

4.3.4 Roczny narybek - recr

Atrybut rocznego narybka przedstawia liczbę śledzi. Główne skupienie wartości występuje w przedziale 200-900 tysięcy, chociaż zdarzają si wyjątkowe pomiary do wartości nawet 1,6mln.

4.4 Dostepność planktonu

Poniżej zebrano wykresy przedstawiające dostępność planktonu 3 typów po dwa gatunki każdy. Są to organizmy stanowiące pożywienie śledzi oceanicznych. Wykresy te podzielono na poszczególne miesiące w celu ułatwienia analizy czy zagęszczenie planktonu zmieniało się w sposób zauważalny na przestrzeni 60 lat. Stworzono również histogramy w celu sprawdzenia rozłożenia wartości.

Przed wykonaniem wykresów dokonano normalizacjo danych w przedziale [0:1] w celu ujednoliceniu wartości i ułatwieniu porównania danych.

df_norm_plank <- new_my_df %>% select(X,length,xmonth,cfin1:lcop2)  %>% transmute(X = X,length = normalit(length),xmonth=xmonth,cfin1 = normalit(cfin1),cfin2 = normalit(cfin2),chel1 = normalit(chel1),chel2 = normalit(chel2),lcop1 = normalit(lcop1),lcop2 = normalit(lcop2))

4.4.1 Calanus finmarchicus gat. 1 - cfin1

Atrybut zawiera bardzo dużą liczbę wartości zbliżoną zeru w stosunku do reszty wartości. Powduję to dużą liczbę spadkóW w linii trendu.

4.4.2 Calanus finmarchicus gat. 2 - cfin2

Wartości atrybutow są bardzo zróżnicowane. Widać jednak na każdym wykresie miesieczni jedno miejsce wysokiego wzorstu w okolicy 2/3 czasu. Na histogramie widać 4 wybijające się wartości.

4.4.3 Calanus helgolandicus gat. 1 - chel1

Atrybut charakteryzuje się bardzo dużym rozrzutem wartości. Na histogramie widać jedną dużą częstość dla wartości 0,25 i jedną większą dla 0,8.

4.4.4 Calanus helgolandicus gat. 2 - chel2

Atrybut ten również charakteryzuje się dużym zróżnicowaniem wartości z wyróżnieniem dwóch wartości o dużej częstości.

4.4.5 Widłonogi gat. 1 - lcop1

Tak jak poprzednie atrybuty dotyczące planktonu i ten charakteryzuję się dużym rozrzutem wartośći. Histogram pokazuje rozkład podobny do równomiernego z wyjątkiem dwóch wartości o dużej częstości.

4.4.6 Widłonogi gat. 2 - lcop2

Ten atrybut charakteryzuję się dużym rozrzutem wartośći. Histogram pokazuje rozkład podobny do równomiernego z wyjątkiem dwóch wartości o dużej częstości.

5 Korelacja między zmiennymi

Dokonano obbliczenia korelacji metodą Pearssona. Z przetwarzania wyłączono atrybut X, który jest jedynie zmienną porządkową. Na podstawie tabeli zamieszczonej poniżej można zauważyć:

  • najwyższe wartości dodatniej korelacji można zauważyć dla atrybutów dotyczących planktonu tj. pomiędzy lcop1 oraz chel1, lcop2 oraz chel2,
  • wysoką wartość widać dla natężenia połowów oraz rocznego natężenia połowów,
  • niższe wartości, ale nadal mówiące o powiązaniu są to: oscylacja oraz temperatura przy powierzchni - można było tego oczekiwać, jeśli składową współczynnika NAO jest temperatura,
  • ciekawy wynik korelacji można zaobserwować pomiędzy ddwoma planktonami (lcop1,chel1) oraz NAO. Jest to ujemna korelacja o wartości ok -0,5. Oznacza to odwrotną zależnośc między tymi atrybutami,
  • nawyższa bezwzględna warotść korelacji dla długości śledzi należy do korelacji z temperaturą przy powierzchni wody; jest to niewątpliwie ważne powiązanie na które będzie trzeba w dalszej analizie uwzględnić.

6 Regresor przewidujący rozmiar śledzia

bedzie regresor TODO

6.1 Wyniki

## Random Forest 
## 
## 36810 samples
##    14 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 18405, 18405, 18405, 18405, 18405, 18405, ... 
## Resampling results across tuning parameters:
## 
##   mtry  RMSE      Rsquared 
##    2    1.170950  0.4975520
##    8    1.147149  0.5178329
##   14    1.150263  0.5157269
## 
## RMSE was used to select the optimal model using  the smallest value.
## The final value used for the model was mtry = 8.
##   mtry     RMSE  Rsquared      RMSESD  RsquaredSD
## 1    2 1.170950 0.4975520 0.006474751 0.003999296
## 2    8 1.147149 0.5178329 0.006287739 0.004018928
## 3   14 1.150263 0.5157269 0.005294196 0.003610304
##      RMSE  Rsquared 
## 1.1405906 0.5251964

7 Ważność atrybutów w oparciu o regresor

bedzie waznosc TODO

8 Wnioski

bedzie podsumowanie TODO